package com.tssup.fesco.common.constants;

/**
 * Created by haomin on 2017/3/20.
 */
public interface OfcConstants {
    public static final String REDIS_ORDER_SEQ_PREFIX = "OFC:SEQUENCE:";

    public interface SYSTEM_OPERATOR{

        public static final String ID = "0";

        public static final String NAME = "SYSTEM";
    }
    public interface QUEUE_NAME{

        /** 订单审核消息队列 */
        public static final String AUDIT = "MESSAGE_QUEUE:AUDIT";
        /** 订单审核消息队列 加急 */
        public static final String AUDIT_URGENT = "MESSAGE_QUEUE:AUDIT:URGENT";
        /** 订单拆分消息队列 */
        public static final String SPLIT = "MESSAGE_QUEUE:SPLIT";
        /** 订单拆分消息队列 加急 */
        public static final String SPLIT_URGENT = "MESSAGE_QUEUE:SPLIT:URGENT";
    }

    public interface SYSTEM_LEVEL{

        public static final int OFC = 0;

    }

    public interface STATIC_DATA_CODE{
        public static final String OFC_PARAM = "OFC_PARAM";
    }

    public interface STATIC_DATA_KEY{
        /** ofc审核费用比例参数 */
        public static final String FEE_RADIO = "FEE_RADIO";
        /** OFC每次接收订单的数量 */
        public static final String RECEIVE_ORDER_NUM = "RECEIVE_ORDER_NUM";
        /** 生产者每次往消息队列中增加的消息数量 */
        public static final String OFC_QUEUE_MESSAGE_NUM = "OFC_QUEUE_MESSAGE_NUM";
        /** 将超过时限的已审核订单加入到队列的时间配置，单位为分钟 */
        public static final String OFC_WAIT_SPLIT_TIME = "OFC_WAIT_SPLIT_TIME";
        /** 将超过时限的已发货订单自动收货的时间配置，单位为天 */
        public static final String OFC_WAIT_SIGNIN_TIME = "OFC_WAIT_SIGNIN_TIME";
    }

    public interface SYSTEM_LOG_MESSAGE{
        public static final String PROBLEM_ORDER_MESSAGE = "标记问题订单";
        public static final String PROBLEM_ORDER_FIX = "问题订单修复";

        public static final String INIT_ORDER = "新订单初始化";

        public static final String AUDIT_ORDER = "审核订单";

        public static final String CANCEL_ORDER = "取消订单";

        public static final String INVAILD_ORDER = "订单已拆单";

        public static final String WAIT_SHIPPING = "订单拆分完成，待发货";

        public static final String SHIPPING = "订单已发货";

        public static final String SIGN_IN = "订单收货";

        public static final String REFUND = "订单退货";

        public static final String URGENT = "订单加急";

        public static final String LOCK_ORDER = "锁定订单";
        public static final String CANCEL_LOCK_ORDER = "取消订单锁定";

        public static final String PAUSE_ORDER = "暂停订单";
        public static final String CANCEL_PAUSE_ORDER = "取消订单暂停";

        public static final String NEW_ORDER_LOGISTIC = "新增订单物流信息";
        public static final String UPDATE_ORDER_LOGISTIC = "修改订单物流信息";

        public static final String NEW_ORDER_MESSAGE = "新增订单留言";
        public static final String UPDATE_ORDER_MESSAGE = "修改订单留言";
        public static final String DELETE_ORDER_MESSAGE = "删除订单留言";

        public static final String NEW_ORDER_DISCUSS_LOG = "新增订单洽谈日志";
        public static final String UPDATE_ORDER_DISCUSS_LOG = "修改订单洽谈日志";

        public static final String UPDATE_ORDER_DETAIL = "修改订单商品信息";
        public static final String UPDATE_ORDER_CONSIGNEE = "修改订单收货人信息";
    }

    public interface ORDER_PROBLEM{
        public interface OPERATIONS {
            /** 系统操作 **/
            public static final Integer SYSTEM_OPERATE = 0 ;
            /** 锁定 **/
            public static final Integer LOCK = 1 ;
            /** 重新下发 **/
            public static final Integer REPUSH = 2 ;
            /** 取消订单 **/
            public static final Integer CANCEL_ORDER = 3 ;
        }
        public interface PROBLEM_TYPE{
            /** 订单数据问题 **/
            public static final Integer DATA_ERROR = 0 ;
            /** 疑似恶意订单 **/
            public static final Integer MALICE_ERROR = 1 ;
            /** 商品SKU不匹配 **/
            public static final Integer SKU_ERROR = 2 ;
            /** 省市地区不匹配 **/
            public static final Integer AREA_ERROR = 3 ;
            /** 收货地址不匹配 **/
            public static final Integer ADDRESS_ERROR = 4 ;
            /** 手机号码为空 **/
            public static final Integer MOBILE_ERROR = 5 ;
            /** 限购商品达到上限 **/
            public static final Integer LIMITED_PURCHASE_ERROR = 6 ;
            /** 商品无可用库存 **/
            public static final Integer STOCK_OUT = 7 ;
            /** 物流公司获取失败 **/
            public static final Integer LOGISTIC_ERROR = 8 ;
            /** WMS返回缺货 **/
            public static final Integer STOCK_OUT_IN_WMS = 9 ;
        }

        interface PROBLEM_MESSAGE{
            public static final String ZERO_TOTAL = "订单金额为0";
            public static final String GOODS_AMOUNT_NOT_EQUAL = "订单商品金额不等于商品售价*数量总和";
            public static final String WIDE_PRICE = "商品标准单价与商品销售价差距过大";
            public static final String ORDER_CANCEL = "订单已取消";
            public static final String ORDER_INVAILE = "订单已拆单";
            public static final String ORDER_AUDITED = "订单已审核";
            public static final String ORDER_SPLITED = "订单已拆分";
            public static final String ORDER_PAUSE = "订单已暂停";
            public static final String HAS_ORDER_USER_REMARK = "订单存在用户备注，需要人工审核";
            public static final String ORDER_INFO_MISS = "订单信息不存在";
            public static final String ORDER_DETAIL_MISS = "订单明细信息不存在";
            public static final String ORDER_FIANCE_MISS = "订单费用信息不存在";
            public static final String ORDER_CONSIGNEE_MISS = "订单收货信息不存在";
            public static final String ORDER_USER_MISS = "订单用户信息不存在";
            public static final String ORDER_STATUS_ERROR = "订单状态错误";
            public static final String ORDER_GOODS_SUPPLIER_MISS = "订单商品不存在供货商";
            public static final String LOGISTIC_COMPANY_MISS = "物流公司不存在";
            public static final String ORDER_HAD_LOGISTIC_COMPANY = "订单已分配物流公司";
            public static final String ORDER_LOGISTIC_COMPANY_MISS = "订单物流公司不存在";
        }

        interface PROBLEM_KEY{
            /** 订单金额为0 */
            public static final Integer ZERO_TOTAL = 0;
            /** 订单商品金额不等于商品售价*数量总和 */
            public static final Integer GOODS_AMOUNT_NOT_EQUAL = 1;
            /** 商品标准单价与商品销售价差距过大 */
            public static final Integer WIDE_PRICE = 2;
            /** 订单商品供应商缺失 */
            public static final Integer ORDER_GOODS_SUPPLIER_MISS = 3;
            /** 订单数据错误 */
            public static final Integer DATA_ERROR = 4;

        }


    }
}
